package com.ytjj.qmyx.mall.model;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

public class ReissueLogistics implements Serializable {
    /**
     * id
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     * 订单号
     *
     * @mbg.generated
     */
    private String orderNo;

    /**
     * 订单详细id
     *
     * @mbg.generated
     */
    private Integer orderInfoId;

    /**
     * 收货人姓名
     *
     * @mbg.generated
     */
    private String userName;

    /**
     * 收货人号码
     *
     * @mbg.generated
     */
    private String userPhone;

    /**
     * 供应商Id
     *
     * @mbg.generated
     */
    private Integer bankerId;

    /**
     * 仓库名称
     *
     * @mbg.generated
     */
    private String warehouseName;

    /**
     * 产品名称
     *
     * @mbg.generated
     */
    private String productName;

    /**
     * 规格
     *
     * @mbg.generated
     */
    private String productSkuSpec;

    /**
     * 收货人地址
     *
     * @mbg.generated
     */
    private String userAddress;

    /**
     * 补货原因
     *
     * @mbg.generated
     */
    @NotEmpty(message = "补单理由不能为空")
    private String descr;

    /**
     * 原单号
     *
     * @mbg.generated
     */
    private String oldOrderNo;

    /**
     * 收回单号
     *
     * @mbg.generated
     */
    private String recoveryOrderNo;

    /**
     * 查询的快递公司的编码， 一律用小写字母
     *
     * @mbg.generated
     */
    private String expressCompanyNo;

    /**
     * 补货单号
     *
     * @mbg.generated
     */
    private String expressNo;

    /**
     * 备注
     *
     * @mbg.generated
     */
    private String remarks;

    /**
     * 异常链接
     *
     * @mbg.generated
     */
    private String errorUrl;

    /**
     * 文件类型：图片 img 视频 video
     *
     * @mbg.generated
     */
    private String fileType;

    /**
     * 图片/视频
     *
     * @mbg.generated
     */
    private String image;

    /**
     * 操作人
     *
     * @mbg.generated
     */
    private Integer adminId;

    /**
     * 补单状态 0-待处理 1-处理中 2-处理成功 3-处理失败
     *
     * @mbg.generated
     */
    private Integer status;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 操作时间
     *
     * @mbg.generated
     */
    private Date operationTime;

    /**
     * 补单时间
     */
    private Date supplementaryDay;

    /**
     * 收单时间
     */
    private Date acquiringDay;

    /**
     * 是否导出 0-否 1-是
     *
     * @mbg.generated
     */
    private Integer isExport;

    private String shopId;

    private String childOrderNo;

    /**
     * 销售端补单物流记录id
     */
    private Integer reissueLogisticsId;

    /**
     *补单类型 1-补发 2-换货 3-返修 4-检测
     */
    @NotNull(message = "补单类型不能为空")
    private Integer reissueType;

    /**
     * 补发归类 1-全部商品 2-配件 3-部分商品
     */
    private Integer reissueClassify;

    /**
     * 问题归类
     */
    @NotEmpty(message = "问题归类不能为空")
    private String returnReason;

    /**
     * 原因类型
     */
    @NotEmpty(message = "原因类型不能为空")
    private String reasonType;

    /**
     * 检测商品反馈图片/视频功能
     */
    private String feedbackUrl;

    /**
     * 补单物流更新时间
     */
    private Date logisticsReceiptTime;

    /**
     * 补单物流详情
     */
    private String expressRecord;

    /**
     * 快递完整流水JSON
     */
    private String expressText;

    /**
     * 拒绝补单理由
     */
    private String refuseReason;

    /**
     * 是否已完结 1-完结 0-未完结
     */
    private Integer finishStatus;

    /**
     * 完结时间
     */
    private Date finishTime;

    /**
     * 建单人
     */
    private String createName;

    /**
     * 快递高级状态值。
     */
    private Integer statusCode;

    /**
     * 快递异常描述
     */
    private String statusDesc;

    /**
     * 补发状态：1-待发货 2-已发货 3-已完成
     */
    private Integer reissueStatus;

    /**
     * 拒绝补单时间
     */
    private Date refuseTime;

    /**
     * 包裹签收时间
     */
    private Date checkTime;

    private static final long serialVersionUID = 1L;

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getOrderInfoId() {
        return orderInfoId;
    }

    public void setOrderInfoId(Integer orderInfoId) {
        this.orderInfoId = orderInfoId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserPhone() {
        return userPhone;
    }

    public void setUserPhone(String userPhone) {
        this.userPhone = userPhone;
    }

    public Integer getBankerId() {
        return bankerId;
    }

    public void setBankerId(Integer bankerId) {
        this.bankerId = bankerId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductSkuSpec() {
        return productSkuSpec;
    }

    public void setProductSkuSpec(String productSkuSpec) {
        this.productSkuSpec = productSkuSpec;
    }

    public String getUserAddress() {
        return userAddress;
    }

    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }

    public String getDescr() {
        return descr;
    }

    public void setDescr(String descr) {
        this.descr = descr;
    }

    public String getOldOrderNo() {
        return oldOrderNo;
    }

    public void setOldOrderNo(String oldOrderNo) {
        this.oldOrderNo = oldOrderNo;
    }

    public String getRecoveryOrderNo() {
        return recoveryOrderNo;
    }

    public void setRecoveryOrderNo(String recoveryOrderNo) {
        this.recoveryOrderNo = recoveryOrderNo;
    }

    public String getExpressCompanyNo() {
        return expressCompanyNo;
    }

    public void setExpressCompanyNo(String expressCompanyNo) {
        this.expressCompanyNo = expressCompanyNo;
    }

    public String getExpressNo() {
        return expressNo;
    }

    public void setExpressNo(String expressNo) {
        this.expressNo = expressNo;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getErrorUrl() {
        return errorUrl;
    }

    public void setErrorUrl(String errorUrl) {
        this.errorUrl = errorUrl;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public Integer getAdminId() {
        return adminId;
    }

    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getOperationTime() {
        return operationTime;
    }

    public void setOperationTime(Date operationTime) {
        this.operationTime = operationTime;
    }

    public Integer getIsExport() {
        return isExport;
    }

    public void setIsExport(Integer isExport) {
        this.isExport = isExport;
    }

    public String getChildOrderNo() {
        return childOrderNo;
    }

    public void setChildOrderNo(String childOrderNo) {
        this.childOrderNo = childOrderNo;
    }

    public Date getSupplementaryDay() {
        return supplementaryDay;
    }

    public void setSupplementaryDay(Date supplementaryDay) {
        this.supplementaryDay = supplementaryDay;
    }

    public Date getAcquiringDay() {
        return acquiringDay;
    }

    public void setAcquiringDay(Date acquiringDay) {
        this.acquiringDay = acquiringDay;
    }

    public Integer getReissueLogisticsId() {
        return reissueLogisticsId;
    }

    public void setReissueLogisticsId(Integer reissueLogisticsId) {
        this.reissueLogisticsId = reissueLogisticsId;
    }

    public Integer getReissueType() {
        return reissueType;
    }

    public void setReissueType(Integer reissueType) {
        this.reissueType = reissueType;
    }

    public Integer getReissueClassify() {
        return reissueClassify;
    }

    public void setReissueClassify(Integer reissueClassify) {
        this.reissueClassify = reissueClassify;
    }

    public String getReturnReason() {
        return returnReason;
    }

    public void setReturnReason(String returnReason) {
        this.returnReason = returnReason;
    }

    public String getReasonType() {
        return reasonType;
    }

    public void setReasonType(String reasonType) {
        this.reasonType = reasonType;
    }

    public String getFeedbackUrl() {
        return feedbackUrl;
    }

    public void setFeedbackUrl(String feedbackUrl) {
        this.feedbackUrl = feedbackUrl;
    }

    public Date getLogisticsReceiptTime() {
        return logisticsReceiptTime;
    }

    public void setLogisticsReceiptTime(Date logisticsReceiptTime) {
        this.logisticsReceiptTime = logisticsReceiptTime;
    }

    public String getExpressRecord() {
        return expressRecord;
    }

    public void setExpressRecord(String expressRecord) {
        this.expressRecord = expressRecord;
    }

    public String getExpressText() {
        return expressText;
    }

    public void setExpressText(String expressText) {
        this.expressText = expressText;
    }

    public String getRefuseReason() {
        return refuseReason;
    }

    public void setRefuseReason(String refuseReason) {
        this.refuseReason = refuseReason;
    }

    public Integer getFinishStatus() {
        return finishStatus;
    }

    public void setFinishStatus(Integer finishStatus) {
        this.finishStatus = finishStatus;
    }


    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public Integer getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(Integer statusCode) {
        this.statusCode = statusCode;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public Integer getReissueStatus() {
        return reissueStatus;
    }

    public void setReissueStatus(Integer reissueStatus) {
        this.reissueStatus = reissueStatus;
    }

    public Date getRefuseTime() {
        return refuseTime;
    }

    public void setRefuseTime(Date refuseTime) {
        this.refuseTime = refuseTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderNo=").append(orderNo);
        sb.append(", orderInfoId=").append(orderInfoId);
        sb.append(", userName=").append(userName);
        sb.append(", userPhone=").append(userPhone);
        sb.append(", bankerId=").append(bankerId);
        sb.append(", warehouseName=").append(warehouseName);
        sb.append(", productName=").append(productName);
        sb.append(", productSkuSpec=").append(productSkuSpec);
        sb.append(", userAddress=").append(userAddress);
        sb.append(", descr=").append(descr);
        sb.append(", oldOrderNo=").append(oldOrderNo);
        sb.append(", recoveryOrderNo=").append(recoveryOrderNo);
        sb.append(", expressCompanyNo=").append(expressCompanyNo);
        sb.append(", expressNo=").append(expressNo);
        sb.append(", remarks=").append(remarks);
        sb.append(", errorUrl=").append(errorUrl);
        sb.append(", fileType=").append(fileType);
        sb.append(", image=").append(image);
        sb.append(", adminId=").append(adminId);
        sb.append(", status=").append(status);
        sb.append(", createTime=").append(createTime);
        sb.append(", operationTime=").append(operationTime);
        sb.append(", isExport=").append(isExport);
        sb.append(", childOrderNo=").append(childOrderNo);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}